package com.wu.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wu.pojo.Classify;
import com.wu.pojo.view.ClassifyView;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: 吴磊
 * @program: blog
 * @create: 2021-04-19 20:32
 */
@Mapper
public interface ClassifyMapper extends BaseMapper<Classify> {

    /**
     * 通过用户Id获全部的文章分类名称
     *
     * @param userId
     * @return
     */
    List<Classify> getClassifyByUserId(@Param("userId") String userId);

    /**
     * 添加分类
     *
     * @param classifyId
     * @param classifyName
     * @return
     */
    int addClassify(
            @Param("classifyId") String classifyId,
            @Param("classifyName") String classifyName
    );

    /**
     * 通过分类名查询分类
     *
     * @param classifyName
     * @return
     */
    Classify getClassifyByName(@Param("classifyName") String classifyName);

    /**
     * 通过id查询分类
     *
     * @param classifyId
     * @return
     */
    Classify getClassifyById(@Param("classifyId") String classifyId);

    /**
     * 查询所有的分类
     *
     * @return
     */
    List<Classify> getAllClassify();

    /**
     * 查询所有文章数不为空的分类
     *
     * @return
     */
    List<Classify> getAllArticleNotNullClassify();

    /**
     * 获取分类对应的文章数
     *
     * @param classifyName
     * @return
     */
    List<ClassifyView> getClassifyWithArticleNumber(@Param("classifyName") String classifyName, @Param("userId") String UserId);
}
